Servlet Lifecycle হল সার্ভলেটের মধ্যে ব্যবহৃত তিনটি গুরুত্বপূর্ণ মেথডের সিরিজ যা সার্ভলেটের কার্যক্ষমতা এবং কার্যকারিতা পরিচালনা করে। একটি সার্ভলেট যখন ওয়েব সার্ভারে ইনস্ট্যান্সিয়েট হয়, তখন তা তার lifecycle মেথডগুলির মাধ্যমে কাজ শুরু করে এবং যখন সার্ভলেটটি আর প্রয়োজনীয় থাকে না, তখন তা destroy() মেথডের মাধ্যমে ধ্বংস করা হয়।
একটি সার্ভলেটের জীবনের তিনটি মূল ধাপ:
এসব মেথড সার্ভলেট ক্লাসের জন্য প্রয়োজনীয় এবং ওয়েব সার্ভারের দ্বারা স্বয়ংক্রিয়ভাবে ব্যবহৃত হয়।
init() মেথড হল সার্ভলেটের প্রথম মেথড যা সার্ভলেটটি সার্ভারে লোড হওয়ার সময় প্রথমবার কল হয়। সার্ভলেটের ইনিশিয়াল কনফিগারেশন বা রিসোর্স সেটআপ করার জন্য এটি ব্যবহৃত হয়। সার্ভলেটটি যখন প্রথমবার ক্লায়েন্টের রিকোয়েস্টের জন্য প্রস্তুত থাকে, তখন এটি শুধুমাত্র একবারই কল হয়।
public class MyServlet extends HttpServlet {
@Override
public void init() throws ServletException {
// ইনিশিয়ালাইজেশন কোড
System.out.println("Servlet initialized.");
}
}
এখানে:
service() মেথড সার্ভলেটের মূল মেথড যা ক্লায়েন্ট রিকোয়েস্টের প্রক্রিয়া করে এবং রেসপন্স প্রদান করে। যখনই সার্ভলেটকে কোনো HTTP রিকোয়েস্ট (যেমন GET, POST, PUT, DELETE) করা হয়, তখন service() মেথডটি কল হয়। এই মেথডটি কনকেটেনেটিভ ওয়েব অ্যাপ্লিকেশনগুলি পরিচালনা করতে ব্যবহৃত হয় এবং এটি ইনপুট প্রক্রিয়াকরণ এবং আউটপুট প্রদানের জন্য উপযুক্ত।
service() মেথডটির কাজ হল:
public class MyServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
response.getWriter().println("Hello, " + name);
}
}
এখানে:
destroy() মেথড হল সার্ভলেটের লাইফসাইকেলের শেষ ধাপ, যা সার্ভলেটের কার্যক্রম সম্পন্ন হওয়ার পরে কল হয়। এটি সাধারণত সার্ভলেটের রিসোর্স ফ্রী করতে ব্যবহৃত হয়, যেমন ডাটাবেস কানেকশন বন্ধ করা বা ফাইল সিস্টেমের রিসোর্স রিলিজ করা। এটি ওয়েব সার্ভারের কাজ যখন সার্ভলেটটি ডেস্ট্রয় (ধ্বংস) করা হয় তখন কল হয়।
public class MyServlet extends HttpServlet {
@Override
public void destroy() {
// রিসোর্স রিলিজ করা
System.out.println("Servlet destroyed.");
}
}
এখানে:
সার্ভলেট লাইফসাইকেল স্বয়ংক্রিয়ভাবে সার্ভার দ্বারা পরিচালিত হয় এবং ডেভেলপারদের এটি পরিচালনা করার জন্য অনেক কিছু করতে হয় না। তবে কিছু কাস্টম কার্যক্রম (যেমন কনফিগারেশন লোড করা, রিসোর্স রিলিজ করা ইত্যাদি) init() এবং destroy() মেথডগুলির মাধ্যমে করা যেতে পারে।
+----------------+ +--------------------+ +------------------+
| init() |----->| service() |----->| destroy() |
| (Initialization) | (Request Processing) | (Cleanup) |
+----------------+ +--------------------+ +------------------+
Servlet Lifecycle হল সার্ভলেটের তিনটি গুরুত্বপূর্ণ ধাপ:
এই ধাপগুলো সঠিকভাবে কাজ করলে সার্ভলেটের কার্যক্রম নিখুঁতভাবে চলতে পারে এবং অ্যাপ্লিকেশনটি আরো দক্ষতার সাথে কাজ করবে।
Read more